package com.zbkj.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.model.order.MonitorOrder;
import com.zbkj.common.request.MonitorOrderFrontSaveRequest;
import com.zbkj.common.request.MonitorOrderSaveRequest;
import com.zbkj.common.request.MonitorOrderSearchRequest;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.common.response.*;

import java.math.BigDecimal;
import java.util.List;
/**
* @author dazongzi
* @description MonitorOrderService 接口
* @date 2025-06-26
*/
public interface MonitorOrderService extends IService<MonitorOrder> {

    Boolean create(MonitorOrderSaveRequest monitorOrderSaveRequest);

    /**
     * 分页查询监控订单表
     * @param request 查询条件
     * @param pageParamRequest 分页对行
     * @return 查询结果
     */
    List<MonitorOrderPageDataResponse> getList(MonitorOrderSearchRequest request, PageParamRequest pageParamRequest);
    List<MonitorOrderFrontSearchResponse> getListFront(MonitorOrderSearchRequest request, PageParamRequest pageParamRequest);

    MonitorOrderDetailResponse getDetailById(Integer id);

    MonitorOrder getByOutTradeNo(String outTradeNo);

    boolean deleteById(Integer id);

    MonitorOrder getByMerchantName(String merchantName);

    OrderNoResponse createOrder(MonitorOrderFrontSaveRequest request);

    void callBack(String orderNo);

    MonitorOrder getByLinkId(Integer id, int type);

    BigDecimal getUserMonitorOrderPrice(Integer uid);
}